LGF_BubbleSort 指令库及其使用

LGF_BubbleSort 库文件夹下包含四个库指令: LGF_ BubbleSort _Int, LGF_ BubbleSort _Dint, LGF_ BubbleSort _Real, LGF_ BubbleSort _Byte。

注意:

此指令库使用STEP 7 MicroWIN SMART V2.6版本编写,请在STEP 7 MicroWIN SMART V2.6或更高版本软件中使用该库指令。

此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。

在项目中使用库

LGF_BubbleSor指令库

创建完成的指令库文件扩展名为".smartlib"。库文件可以作为单独的文件拷贝、移动,将库文件移动至系统库文件夹下即可使用库指令(STEP 7-Micro/WIN SMART库文件夹一般存储路径为"C:\Users\Public\Documents\Siemens\STEP 7-MicroWIN SMART\Lib")。如果操作完成打开软件后未找到库指令,在库菜单栏下单击右键选择"刷新库"即可。

成功添加指令库后,用户可以在STEP7 Micro/win的指令树中找到‘LGF_BubbleSort (v1.3)'

图1.LGF_BubbleSort 库

LGF_BubbleSort简介

对任意数量整数/双整数/实数/无符号数据元素(最大100)的数组重新排序,可根据引脚选择排序方式为升序或降序,并将数组排序后的版本返回到同一地址区域内。

使用库指令LGF_ BubbleSort _Int/Dint/Real/Byte需注意:

由于SMART PLC中没有数组数据类型,因此需使用连续的V区地址来存储数据,并确保V区中的数据类型完全一致,否则结果可能不正确;

该指令整数数据的尺寸需要占用一个字,双整数、实数数据的尺寸需要占用一个双字,无符号数据需要占用一个字节,否则结果可能不正确;

连续地址最多包含100个数据,超过的部分程序不予执行。

程序块:

图 2. LGF_BubbleSort_Int

图 3. LGF_BubbleSort_Dint

图 4. LGF_BubbleSort_Real

图 4. LGF_BubbleSort_Byte

表 1. LGF_BubbleSort参数
参数 声明 数据类型 注释
EN IN BOOL 程序块使能
mode IN BOOL 排序模式:0为升序,1为降序
dataPtr IN DWORD 数组的起始地址指针
length IN_OUT WORD 数组长度,上限100个
Status OUT WORD 错误码说明
16#0000:无错误发生
16#8200:数组长度参数输入数据过小(小于2)
16#8201:数组长度参数输入数据过大(大于100)